package com.itheima.stock.api;

import com.itheima.stock.entity.StockBusiness;
import com.itheima.stock.response.PageResult;
import com.itheima.stock.response.ResponseResult;
import com.itheima.stock.vo.*;
import jakarta.servlet.http.HttpServletResponse;
import org.checkerframework.checker.units.qual.A;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;
import java.util.Map;

/**
 * @文件名: StockControllerAPI
 * @作者: DX
 * @创建日期: 2025/10/23
 * @描述:
 */
@RequestMapping(path = "/api/quot")
public interface StockControllerAPI {

    @GetMapping("/stock/tradevol")
   ResponseResult<Map> tradeAmt();

    @GetMapping( "stock/export")
    ResponseResult<FileDownloadVO> export(@RequestParam("page") int page,
                                             @RequestParam("pageSize") int pageSize,
                                             HttpServletResponse  response);

    @GetMapping("/stock/updown/count")
    ResponseResult<UpDownVO<OptionVO>> upDownCount();

    @GetMapping("/stock/all")
    ResponseResult<PageResult<MoreVO>> stockPage(@RequestParam("page")  Integer page, @RequestParam("pageSize") Integer pageSize);

    @GetMapping(path = "/stock/increase")
    ResponseResult<List<StockUpdownDomainVO>> stockIncreaseLimit();

    @GetMapping("/sector/all")
    ResponseResult<List<StockBlockRtInfoVO>> sectorAllLimit();

    @GetMapping("/index/all")
    ResponseResult<List<MarketIndexVO>> innerIndexAll();

    @GetMapping(path = "/stock/business/all")
    ResponseResult <List<StockBusiness>> getStockBusiness();

}
